/**
 *  @file applicationSection.h
 *
 *  @date 18-nov-2009
 *  @author Ives van der Flaas
 */

#ifndef APPLICATIONSECTION_H_
#define APPLICATIONSECTION_H_

namespace si
{
/**
 * The game has several ApplicationSections, one of which will have
 * control of the game at any time.
 */
class ApplicationSection
{
public:
	ApplicationSection();
	virtual ~ApplicationSection();
	/**
	 * @return true if this section want's the app to stop running.
	 */
	virtual bool wantsAppExit();

	/**
	 * Will be called for this section when transferring from another section. Use it to init stuff.
	 */
	virtual void youreStarting(){};
protected:
	bool fWantsExit;
};

}

#endif /* APPLICATIONSECTION_H_ */
